package algorithm.dfs;

import algorithm.TreeNode;

/**
 * @author cyt
 * @create 2020-08-25 9:12
 */
public class T100 {
    public static void main(String[] args) {

    }

    /**
     * 给定两个二叉树，编写一个函数来检验它们是否相同。
     * <p>
     * 如果两个树在结构上相同，并且节点具有相同的值，则认为它们是相同的。
     *
     * @param p
     * @param q
     * @return
     */
    public boolean isSameTree(TreeNode p, TreeNode q) {
        if (p == null && q == null) {
            return true;
        }
        if (p == null || q == null) {
            return false;
        }
        /**
         * 如果用等号来判断的话 会出现对称二叉树 错判的现象/
         */
        if (p.val != q.val) {
            return false;
        }
        return isSameTree(p.left, q.left) && isSameTree(q.right, p.right);
    }

}
